﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace work12
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 Queue 类的实例，模拟排队点餐的操作
            Queue queue = new Queue();
            //向Queue中添加排队人员
            queue.Enqueue("小三");
            queue.Enqueue("小四");
            queue.Enqueue("小五");
            Console.WriteLine("点餐开始：");
            //当队列中没有人时点餐结束
            while (queue.Count != 0)
            {
                Console.WriteLine(queue.Dequeue() + "已点餐！");
            }
            Console.WriteLine("点餐结束！\n");

            //向 Queue 类的实例中添加 3 个值，在不移除队列中元素的前提下将队列中的元素依次输出。
            queue.Enqueue("aaa");
            queue.Enqueue("bbb");
            queue.Enqueue("ccc");
            object[] obj = queue.ToArray();
            foreach (var item in obj)
            {
                Console.Write(item+" ");
            }
            Console.WriteLine();

            //使用 GetEnumerator() 方法来遍历
            IEnumerator enumerator = queue.GetEnumerator();
            while (enumerator.MoveNext())
            {
                Console.Write(enumerator.Current+" ");
            }
            Console.WriteLine();
        }
    }
}
